# coding=utf-8

"""个数可变的位置参数和关键字参数"""


def fun(*args):  # 暂时不知道参数有多少，可变位置参数,结果为元组；位置可变的参数只能定义一个
    print(args)


fun(10)
fun(10, 20)


def funn(**args):  # 个数可变的关键字形参，结果为字典；可变的关键字参数也只能有一个
    print(args)


funn(a=1, b=3, c=66)


def fuun(*args1, **args2):  # 可以同时有可变关键字形参和可变位置形参，但是可变位置形参要位于可变关键字形参之前
    pass


print('----------------------------------')


def abc(a, b, c):
    print(a)
    print(b)
    print(c)


abc(1, 2, 3)
lst = [222, 333, 666]
abc(*lst)
dic = {'a': 222, 'b': 999, 'c': 888}
abc(**dic)


def aaa(a, b, *, c, d):  # *表示在其之后的参数，函数调用时只能使用关键字参数传递，例如：c=666,d=999
    pass


"""在函数定义里运用global来定义全局变量"""


def fun1():
    global k
    k = '张三'
    print(k)
fun1()
print(k)
